package com.doubao.common.service;

import com.doubao.common.result.Result;

/**
 * Shared interface for membership services to avoid circular dependencies
 * between user and device modules
 */
public interface MembershipService {
    
    /**
     * Checks if a user has sufficient switch count for device operations
     * 
     * @param userId the user ID
     * @return true if user has sufficient switch count, false otherwise
     */
    boolean hasSufficientSwitchCount(Long userId);
    
    /**
     * Consumes a switch count for the user
     * 
     * @param userId the user ID
     * @return Result with success or failure information
     */
    Result<Void> consumeSwitchCount(Long userId);
}